package com.wsoft.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.wsoft.system.entity.SysMemberEntity;
import com.wsoft.system.entity.SysMemberOrgPostRelationEntity;
import com.wsoft.system.query.member.MemberOrgPostQuery;
import com.wsoft.system.query.post.MemberPostQuery;

import java.util.List;

/**
 * <p>
 * 人员组织用户关联表 服务类
 * </p>
 *
 * @author juiet
 * @since 2024年09月27日 13:07:12
 */
public interface ISysMemberOrgPostRelationService extends IService<SysMemberOrgPostRelationEntity> {

    /**
     * 批量插入关联关系
     * @param query
     */
    void insertRelations(MemberOrgPostQuery query);

    /**
     * 修改关联关系
     * @param query
     */
    void updateRelations(MemberOrgPostQuery query);

    /**
     * 获取用户所在岗位
     * @param memberId
     * @return
     */
    List<SysMemberOrgPostRelationEntity> getPostListByMember(Long memberId);

    /**
     * 根据岗位id获取用户列表
     * @param query
     * @return
     */
    PageInfo<SysMemberEntity> getMemberListByPost(MemberPostQuery query);

    /**
     * 根据用户id删除关联关系
     * @param memberId
     * @return
     */
    boolean deleteByMemberId(Long memberId);
}
